<?php

namespace Siese\AdminBundle\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;


/**
 * CatVentilacion controller.
 *
 */
class ConsultasController extends Controller
{
    
 public function ConsultasPoblacionAction(Request $request)
    {
    $em = $this->getDoctrine()->getManager();
    $entities = null;
    $formFiltrosConsultas = $this->container->get('siese_entity.generar_filtros_consultas');
    $formFiltrosConsultas = $formFiltrosConsultas->generarFormularioFiltrosConsultas('consultas-index');
    $resultado = null;
    
  if ($request->isMethod('POST')){
      $formFiltrosConsultas->handleRequest($request);
      $resFiltrosConsultas = $request->request->get('siese_filtros_consulta');
            
    
    $anio = $formFiltrosConsultas->get('anios')->getData();
        $estado = $formFiltrosConsultas->get('estadoEnt')->getData();
        $entidad = $formFiltrosConsultas->get('entidad')->getData();
        
        
        $resultado = $em->getRepository('SieseEntityBundle:InspeccionesEntidades')->findInspeccionesPorSexo($anio,$estado,$entidad);
        
        if($resultado):
          foreach($resultado as $row):
            $datosArreglo = array();
            $datosArreglo[] = ($row['tipoInspeccion'] == 'F' ? 'Femenino' : 'Masculino');
            $datosArreglo[] = $row['cantidadInpecciones'];
            $arregloResultado[] = $datosArreglo;  
          endforeach;
        else:
          $arregloResultado = 'vacio';
        endif;
      
       $resultado = json_encode($arregloResultado);      
    }
    
    return $this->render('SieseAdminBundle:Consultas:index.html.twig', array(
            'entities' =>$entities,
            'resultado' => $resultado,
            'formFiltrosConsultas' => $formFiltrosConsultas->createView(),
   
        ));
    } 
    
    public function ConsultasPoblacionSexoAction(Request $request)
    {
    $em = $this->getDoctrine()->getManager();
    $entities = null;
    $formFiltrosConsultas = $this->container->get('siese_entity.generar_filtros_consultas');
    $formFiltrosConsultas = $formFiltrosConsultas->generarFormularioFiltrosConsultas('consulta-sexo');
    $resultado = false;
    
    
  if ($request->isMethod('POST')){
      $formFiltrosConsultas->handleRequest($request);
      $resFiltrosConsultas = $request->request->get('siese_filtros_consulta');
            
        $anio = $formFiltrosConsultas->get('anios')->getData();
        $estado = ($formFiltrosConsultas->get('estadoEnt')->getData() == 'TODOS LOS ESTADOS' ? null : $formFiltrosConsultas->get('estadoEnt')->getData());
        $entidad = ($formFiltrosConsultas->get('entidad')->getData() == 'Todas las Entidades de Atención' ? null : $formFiltrosConsultas->get('entidad')->getData());
        
        
        //echo var_dump($entidad);
        $resultado = $em->getRepository('SieseEntityBundle:InspeccionesEntidades')->findInspeccionesPorSexo($anio,$estado,$entidad);
        
        if($resultado):
          foreach($resultado as $row):
            $datosArreglo = array();
            $datosArreglo[] = ($row['tipoInspeccion'] == 'F' ? 'Femenino' : 'Masculino');
            $datosArreglo[] = (float) $row['cantidadInpecciones'];
            $arregloResultado[] = $datosArreglo;  
          endforeach;
          
          $resultado = json_encode($arregloResultado);   
        else:
          $resultado = 'vacio';
        endif;
      
       
      
  }
    
    return $this->render('SieseAdminBundle:Consultas:consultaSexo.html.twig', array(
            'entities' =>$entities,
             'resultado' => $resultado,
            'formFiltrosConsultas' => $formFiltrosConsultas->createView(),
   
        ));
    }
    
    public function ConsultasPoblacionEdadAction(Request $request)
    {
    $em = $this->getDoctrine()->getManager();
    $entities = null;
    $formFiltrosConsultas = $this->container->get('siese_entity.generar_filtros_consultas');
    $formFiltrosConsultas = $formFiltrosConsultas->generarFormularioFiltrosConsultas('consulta-edad');
    $resultado = false;
    
    
  if ($request->isMethod('POST')){
      $formFiltrosConsultas->handleRequest($request);
      $resFiltrosConsultas = $request->request->get('siese_filtros_consulta');
            
        $anio = $formFiltrosConsultas->get('anios')->getData();
        $estado = ($formFiltrosConsultas->get('estadoEnt')->getData() == 'TODOS LOS ESTADOS' ? null : $formFiltrosConsultas->get('estadoEnt')->getData());
        $entidad = ($formFiltrosConsultas->get('entidad')->getData() == 'Todas las Entidades de Atención' ? null : $formFiltrosConsultas->get('entidad')->getData());
        
        
        //echo var_dump($entidad);
        $resultado = $em->getRepository('SieseEntityBundle:InspeccionesEntidades')->findInspeccionesPorEdad($anio,$estado,$entidad);
        
        if($resultado):
          foreach($resultado as $row):
            $datosArreglo = array();
            $datosArreglo[] = (string) $row['edad'].' Años';
            $datosArreglo[] = (float) $row['cantidadInpecciones'];
            $arregloResultado[] = $datosArreglo;  
          endforeach;
          
          $resultado = json_encode($arregloResultado);   
        else:
          $resultado = 'vacio';
        endif;
      
       
      
  }
    
    return $this->render('SieseAdminBundle:Consultas:consultas_pob_por_edad.html.twig', array(
            'entities' =>$entities,
             'resultado' => $resultado,
            'formFiltrosConsultas' => $formFiltrosConsultas->createView(),
   
        ));
    }   
    
  
    public function ConsultasPoblacionNacionalidadAction(Request $request)
    {
    $em = $this->getDoctrine()->getManager();
    $entities = null;
    $formFiltrosConsultas = $this->container->get('siese_entity.generar_filtros_consultas');
    $formFiltrosConsultas = $formFiltrosConsultas->generarFormularioFiltrosConsultas('consulta-nacionalidad');
    $resultado = false;
    
    
  if ($request->isMethod('POST')){
      $formFiltrosConsultas->handleRequest($request);
      $resFiltrosConsultas = $request->request->get('siese_filtros_consulta');
            
        $anio = $formFiltrosConsultas->get('anios')->getData();
        $estado = ($formFiltrosConsultas->get('estadoEnt')->getData() == 'TODOS LOS ESTADOS' ? null : $formFiltrosConsultas->get('estadoEnt')->getData());
        $entidad = ($formFiltrosConsultas->get('entidad')->getData() == 'Todas las Entidades de Atención' ? null : $formFiltrosConsultas->get('entidad')->getData());
        
        
        //echo var_dump($entidad);
        $resultado = $em->getRepository('SieseEntityBundle:InspeccionesEntidades')->findInspeccionesPorNacionalidad($anio,$estado,$entidad);
        
        if($resultado):
          foreach($resultado as $row):
            $datosArreglo = array();
            $datosArreglo[] = (string) $row['nbNacionalidad'];
            $datosArreglo[] = (float) $row['cantidadInpecciones'];
            $arregloResultado[] = $datosArreglo;  
          endforeach;
          
          $resultado = json_encode($arregloResultado);   
        else:
          $resultado = 'vacio';
        endif;
      
       
      
  }
    
    return $this->render('SieseAdminBundle:Consultas:consultas_pob_nacionalidad.html.twig', array(
            'entities' =>$entities,
             'resultado' => $resultado,
            'formFiltrosConsultas' => $formFiltrosConsultas->createView(),
   
        ));
    }    
    
    public function ConsultasPorCapacidadCentroAction(Request $request)
    {
    $em = $this->getDoctrine()->getManager();
    $entities = null;
    $formFiltrosConsultas = $this->container->get('siese_entity.generar_filtros_consultas');
    $formFiltrosConsultas = $formFiltrosConsultas->generarFormularioFiltrosConsultas('consulta-capacidad-centro');
    $resultado = false;
    $jsonEntidadesAtencion = null;
    $jsonCapacidadReal = null;
    $jsonCapacidadInstalada = null;
            
  if ($request->isMethod('POST')){
      $formFiltrosConsultas->handleRequest($request);
      $resFiltrosConsultas = $request->request->get('siese_filtros_consulta');
            
        $anio = $formFiltrosConsultas->get('anios')->getData();
        $estado = ($formFiltrosConsultas->get('estadoEnt')->getData() == 'TODOS LOS ESTADOS' ? null : $formFiltrosConsultas->get('estadoEnt')->getData());
        $entidad = ($formFiltrosConsultas->get('entidad')->getData() == 'Todas las Entidades de Atención' ? null : $formFiltrosConsultas->get('entidad')->getData());
        
        
        //echo var_dump($entidad);
        $resultado = $em->getRepository('SieseEntityBundle:InspeccionesEntidades')->findInspeccionesPorCapacidadRealInstalada($anio,$estado,$entidad);
        
        $entidadesAtencion = array();

        
        if($resultado):
          foreach($resultado as $row):
            $datosArreglo = array();
            $datosArreglo[] = (string) $row['nbEntidad'];
            $entidadesAtencion[] = (string) $row['nbEntidad'];
            $capacidadReal[] = (float) $row['capacidadReal'];
            $capacidadInstalada[] = (float) $row['capacidadInstalada'];
            $datosArreglo[] = (float) $row['capacidadReal'];
            $arregloResultado[] = $datosArreglo;  
          endforeach;
          
          
          $jsonCapacidadReal = json_encode($capacidadReal);
          $jsonCapacidadInstalada = json_encode($capacidadInstalada);
          $jsonEntidadesAtencion = json_encode($entidadesAtencion);
          $resultado = json_encode($arregloResultado);   
        else:
          $resultado = 'vacio';
        endif;
      
       
      
  }
    
    return $this->render('SieseAdminBundle:Consultas:consultas_cap_real_instalada.html.twig', array(
            'entities' =>$entities,
             'resultado' => $resultado,
        'jsonEntidadesAtencion' => $jsonEntidadesAtencion,
        'jsonCapacidadInstalada' => $jsonCapacidadInstalada,
        'jsonCapacidadReal' => $jsonCapacidadReal,
            'formFiltrosConsultas' => $formFiltrosConsultas->createView(),
   
        ));
    }
    
    public function ConsultasPoblacionCondicionJuridicaAction(Request $request)
    {
    $em = $this->getDoctrine()->getManager();
    $entities = null;
    $formFiltrosConsultas = $this->container->get('siese_entity.generar_filtros_consultas');
    $formFiltrosConsultas = $formFiltrosConsultas->generarFormularioFiltrosConsultas('consulta-condicion-juridica');
    $resultado = false;
    $jsonEntidadesAtencion = null;
    $jsonCapacidadReal = null;
    $jsonCapacidadInstalada = null;
            
  if ($request->isMethod('POST')){
      $formFiltrosConsultas->handleRequest($request);
      $resFiltrosConsultas = $request->request->get('siese_filtros_consulta');
            
        $anio = $formFiltrosConsultas->get('anios')->getData();
        $estado = ($formFiltrosConsultas->get('estadoEnt')->getData() == 'TODOS LOS ESTADOS' ? null : $formFiltrosConsultas->get('estadoEnt')->getData());
        $entidad = ($formFiltrosConsultas->get('entidad')->getData() == 'Todas las Entidades de Atención' ? null : $formFiltrosConsultas->get('entidad')->getData());
        
        
        //echo var_dump($entidad);
        $resultado = $em->getRepository('SieseEntityBundle:InspeccionesEntidades')->findInspeccionesPorCondicionJuridica($anio,$estado,$entidad);
        
        $entidadesAtencion = array();

        
        if($resultado):
          foreach($resultado as $row):
            $datosArreglo = array();
            $datosArreglo[] = (string) $row['nbCondicionJuridica'];
            $datosArreglo[] = (float) $row['cantidadInspecciones'];
            $arregloResultado[] = $datosArreglo;  
          endforeach;
          
          
          $resultado = json_encode($arregloResultado);   
        else:
          $resultado = 'vacio';
        endif;
      
       
      
  }
    
    return $this->render('SieseAdminBundle:Consultas:consultas_pob_condicion_juridica.html.twig', array(
            'entities' =>$entities,
             'resultado' => $resultado,
            'formFiltrosConsultas' => $formFiltrosConsultas->createView(),
   
        ));
    }
}